22 research outputs found

    Grain-size optimization and scheduling for distributed memory architectures

    Get PDF
    The problem of scheduling parallel programs for execution on distributed memory parallel architectures has become the subject of intense research in recent, years. Because of the high inter-processor communication overhead in existing parallel machines, a crucial step in scheduling is task clustering, the process of coalescing heavily communicating fine grain tasks into coarser ones in order to reduce the communication overhead so that the overall execution time is minimized. The thesis of this research is that the task of exposing the parallelism in a given application should be left to the algorithm designer. On the other hand, the task of limiting the parallelism in a chosen parallel algorithm is best handled by the compiler or operating system for the target parallel machine. Toward this end, we have developed CASS (for Clustering And Scheduling System), a. task management system that provides facilities for automatic granularity optimization and task scheduling of parallel programs on distributed memory parallel architectures. In CASS, a task graph generated by a profiler is used by the clustering module to find the best granularity al which to execute the program so that the overall execution time is minimized. The scheduling module maps the clusters onto a. fixed number of processors and determines the order of execution of tasks in each processor. The output of scheduling module is then used by a code generator to generate machine instructions. CASS employs two efficient heuristic algorithms for clustering static task graphs: CASS-I for clustering with task duplication, and CASS-II for clustering without task duplication. It is shown that the clustering algorithms used by CASS outperform the best known algorithms reported in the literature. For the scheduling module in CASS, a heuristic algorithm based on load balancing is used to merge clusters such that the number of clusters matches the number of available physical processors. We also investigate task clustering algorithms for dynamic task graphs and show that it is inherently more difficult than the static case

    Performance analysis of pyramid mapping algorithms for the hypercube

    Get PDF
    Comparative performance analysis of algorithms that map pyramids and multilevel structures onto the hypercube are presented. The pyramid structure is appropriate for low-level and intermediate-level computer vision algorithms. It is not only efficient for the support of both local and global operations but also capable of supporting the implementation of multilevel solvers. Nevertheless, pyramids lack the capability of efficient implementation of the majority of scientific algorithms and their cost may become unacceptably high. On a different horizon, hypercube machines have widely been used in the field of parallel computing due to their small diameter, high degree of fault tolerance, and rich interconnection that permits fast communication at a reasonable cost. As a result, hypercube machines can efficiently emulate pyramids. Therefore, the characteristics which make hypercube machines useful scientific processors also make them efficient image processors. Two algorithms which have been developed for the efficient mapping of the pyramid onto the hypercube are discussed in this thesis. The algorithm proposed by Stout [4] requires a hypercube with a number of processing elements (PEs) which is equal to the number of nodes in the base of the pyramid. This algorithm can activate only one level of the pyramid at a time. In contrast, the algorithm proposed by Patel and Ziavras [7] requires the same number of PEs as Stout\u27s algorithm but allows the concurren simulation of multiple levels, as long as the base level is not involved in the set of pyramid levels that need to be simulated at the same time. This low-cost algorithm yields higher performance through high utilization of PEs. However it performs slightly worse than Stout\u27s algorithm when only one level is active at a time. Patel and Ziavras\u27 algorithm performs much better than Stout\u27s algorithm when all levels, excluding the leaf level, are active concurrently. The comparative analysis of these two algorithms is based on the incorporation of simulation results for some image processing algorithms which are perimeter counting, image convolution, and segmentation

    A Study of Issues and Mitigations on DDoS and Medical IoT Devices

    Get PDF
    The Internet of Things (IoT) devices are being used heavily as part of our everyday routines. Through improved communication and automated procedures, its popularity has assisted users in raising the quality of work. These devices are used in healthcare in order to better collect the patient\u27s data for their treatment.

    When the software goes beyond its requirements - A software security perspective

    No full text
    Evidences from current events have shown that, in addition to virus and hacker attacks, many software systems have been embedded with agents that pose security threats such as allowing someone to invade into computers with such software installed. This will eventually grow into a more serious problem when Cluster and Cloud Computing becomes popular. As this is an area that few have been exploring, we discuss in this paper the issue of software security breaches resulting from embedded sleeping agents. We also investigate some patterns of embedded sleeping agents utilized in software industry. In addition, we review these patterns and propose a security model that identifies different scenarios. This security model will provide a foundation for further study on how to detect and prevent such patterns from becoming security breaches. © 2012 IEEE

    On software test estimate and requirement tracking

    No full text
    Test is a key activity for ensuring software quality. There is always pressure from project sponsor and management for software development team to commit to shorter schedule and lower cost, especially for testing. Some of the main challenges in testing today are to match the test cases with requirements correctly, and to provide accurate estimates and track the test progress accordingly. In this paper, we present a parametric model for software test estimate along with a test graph for matching test cases with requirements and test cases analysis to aid in producing a more accurate estimates and tracking. The model and the test graph can be used jointly or individually

    On improving CMMI in an immature world of software development

    No full text
    During the last decade, software engineering researchers have tried to identify the success and obstacle factors to the software development. Conclusions from many of the researches related to the issue show that software process is one of the most important subjects contributing into the success or failure to the software development. Among the Capability Maturity Model Integration (CMMI), the ISO9000 series, Total Quality Management, and other best process practices, the CMMI is the one specially focusing on the software development. However, as evolving from the Capability Maturity Model for Software (SW-CMM), the CMMI has inherited some process issues that can severely degrade the effectiveness of process maturity of an organization. In this paper, we demonstrate some of the issues existing in current version of the CMMI. The upward only maturity level certification method is a major issue. Another major issue for the CMMI is its lack of process practice(s) for organizations and their suppliers that have higher maturity level than they do. Some possible remedies for those issues are also proposed to improve the CMMI

    Toward better software test estimates and requirement tracking

    No full text
    Estimating the effort and cost, and developing the project schedule are very important for building a successful software project. But estimation is hard. There is always pressure from project sponsor and management for software development team to commit to shorter schedule and lower cost. It is no exception for testing. Test is a key activity for software quality. Some of the main challenges in testing today are to match the test cases with requirements correctly, and to provide accurate estimates and track the test progress accordingly. In this paper, we present a parametric model for software test estimate along with a test graph for matching test cases with requirements and test cases analysis to aid in producing a more accurate estimates and tracking. The model and the test graph can be used jointly or individually. The model and the test graph have been used by multi-million-dollar software projects for more than three years. It is shown that they produced very accurate estimations, within 10% of deviation, even with very high requirement volatility. © 2011 - IOS Press and the authors

    An efficient process model for distributed software application developments

    No full text
    One of the problems we face today for software development is how we can comply with the speed of change in the business environment. To address the issue, we present a new paradigm called Progressive Development Model that gradually releases the software components according to the current business needs. In this paper, we also present a design pattern of software architecture optimized for Progress Development Model. Under the design pattern, system functionalities are identified into two components: Core and user functions. With a standardized interface called AIL, staged user functions can be attached onto the core without breaking or deforming the overall architecture. The development model is especially suitable for the distributed software applications development that is getting its popularity recently. © 2013 IEEE

    Systems and methods for authenticating devices using single factor dynamic authentication

    No full text
    A computer-implemented method for predicting a random pattern keypad based on a binding code and a session code; receiving a password input from the user via the random pattern keypad; generating a virtual one-time password based on the password input from the user; and transmitting the virtual one-time password to the server device to authenticate the client device and access services offered by the server device

    On Improving CMMI in an Immature World of Software Development *

    No full text
    During the last decade, software engineering researchers have tried to identify the success and obstacle factors to the software development. Conclusions from many of the researches related to the issue show that software process is one of the most important subjects contributing into the success or failure to the software development. Among the Capability Maturity Model Integration (CMMI), the ISO9000 series, Total Quality Management, and other best process practices, the CMMI is the one specially focusing on the software development. However, as evolving from the Capability Maturity Model for Software (SW-CMM), the CMMI has inherited some process issues that can severely degrade the effectiveness of process maturity of an organization. In this paper, we demonstrate some of the issues existing in current version of the CMMI. The upward only maturity level certification method is a major issue. Another major issue for the CMMI is its lack of process practice(s) for organizations and their suppliers that have higher maturity level than they do. Some possible remedies for those issues are also proposed to improve the CMMI
    corecore